
# 面向对象-多态

"""
1. 概念 ： 一个对象具有多种形态，以适应不同需求的变化 。
2. 说明 ：
    （1）. 必须要有继承
    (2) .子类中的方法复写父类中的方法 ，

3. 开闭原则
    (1). 对调用处进行关闭 ，关闭修改的需求 。
    (2) .对实现着进行开放 ，可以修改的需求 ，可以需求变更 。
"""

class Test():

    # 实现搜索功能
    def search(self):
        print("需要搜索的具体内容")

class Bugs(Test):

    def search(self):
        return [{'bug_id': 1, 'bug_title': '学生列表页使用学生名称进行搜索 结果不正确', 'bug_project': 'tpshop', 'version': 1.0}]


class Cases(Test):
    def search(self):
        return [{'case_id': 1, 'case_title': '学生列表页使用学', 'bug_project': 'tpshop', 'version': 1.0}]


# 新增一个需求 ：添加测试报告的功能
class Report(Test):
    def search(self):
        return [{'report_id': 1, 'report_title': '学生列表页使用学', 'bug_project': 'tpshop', 'version': 1.0}]


# 实现一个接口函数 ：调用着
def search_data(test):
    result = test.search()
    return result


# 查询bug数据
print(search_data(Bugs()))

# 查询用例数据
print(search_data(Cases()))

# 查询测试报告数据
print(search_data(Report()))